package com.tanhua.manage.job;

import com.tanhua.manage.service.AnalysisService;
import com.tanhua.manage.service.UserFreezeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 定时执行的任务类
 */
@Component
public class AnalysisJob {

    @Autowired
    private AnalysisService analysisService;

    @Autowired
    private UserFreezeService userFreezeService;


    /**
     * 定时执行的方法：
     * 1、每5秒执行一次
     * 2、任务调度表达式
     *    秒  分钟  小时   日   月   周(?)   年
     *    举例：  0/5  每5秒
     *    举例：  1-5  第2-6秒
     *    举例：  1,2  第2,3秒
     */
    @Scheduled(cron = "0 0/5 * * * ?")
    public void analysis(){
       /* System.out.println("当前时间："+
                new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));*/
        // 统计分析：把tb_log把的数据统计更新到tb_analysis_by_day日表中
        analysisService.analysis();
    }

    @Scheduled(cron = " 0/30 * * * * ?")
    public void unFreeze(){
        // 自动解冻：每30秒查询一次将封禁时间结束的用户解封
        userFreezeService.autoUnFreeze();
    }
}
